package com.hr.edu.dao;

import java.util.List;

import com.hr.edu.domain.Education;
import com.hr.user.domain.User;
import com.hr.utils.PageBean;

public interface EduDao {
	/**
	 * 通过培训项目的编号查询相关的培训项目
	 * @param edu_id
	 * @return
	 */
	public Education findByEduID(String edu_id);
	/**
	 * 通过用户号查询对应的教育培训课程
	 * @param user_id
	 * @return
	 */
	public Education findByUserID(String user_id);
	/**
	 * 普通查询所有教育培训信息
	 * @return
	 */
	public List<Education> queryAllEducation();
	/**
	 * 添加教育培训信息
	 * @param education
	 */
	public void addEducation(Education education);
	/**
	 * 删除教育培训相关信息
	 * @param education
	 */
	public void deleteEducation(Education education);
	/**
	 * 修改教育信息
	 * @param education
	 */
	public void updateEducation(Education education);
	/**
	 * 分页查询相关的教育培训信息
	 * @param PageCurrent
	 * @param PageSize
	 * @return
	 */
	public PageBean<Education> queryAll_Page(int PageCurrent,int PageSize);
	/**
	 * 员工自身的教育培训查询
	 * @param PageCurrent
	 * @param PageSize
	 * @return
	 */
	public PageBean<Education> queryAll_Page_User(int PageCurrent,int PageSize);
	/**
	 * 已经报名的培训人员
	 * @param PageCurrent
	 * @param PageSize
	 * @return
	 */
	public PageBean<User> queryAll_Page_User_ByEducation(int PageCurrent, int PageSize,String edu_id);
	/**
	 * 根据用户id查询所有对应的教育项目
	 * @param pageCurrent
	 * @param pageSize
	 * @param user_id
	 * @return
	 */
	public PageBean<Education> queryAll_Page_User_ByUserId(int pageCurrent, int pageSize,String user_id);
	/**
	 * 添加员工的教育培训项目
	 * @param edu_id
	 * @param user_id
	 */
	public void addEducationUser(String edu_id, String user_id);
	/**
	 * 查询当前所处于的审批状态
	 * @param education
	 * @param user
	 * @return
	 */
	public String findState(Education education, User user);
	/**
	 * 员工自己放弃自己的教育培训项目
	 * @param edu_id
	 * @param user_id
	 */
	public void deleteUserOwnEdu(String edu_id, String user_id);
	/**
	 * 通过教育培训id进行删除
	 * @param edu_id
	 */
	public void deleteEducation(String edu_id);
	/**
	 * 修改审批状态
	 * @param edu_id
	 * @param user_id
	 */
	public void updateEducationUser(String edu_id, String user_id);

}
